#ifndef BITS8SEQUENCE_H_
#define BITS8SEQUENCE_H_

#include <cstdlib>
#include <iostream>

using namespace std;

#include "../exception/BadArgumentException.h"

using namespace ::miniprojeto::excpetion;

#include "BitsSequence.h"

namespace miniprojeto {
namespace util {

class Bits8Sequence : BitsSequence {
protected:
	unsigned char sequence;
public:
	Bits8Sequence(unsigned char sequence=0);
	virtual void printBin(int group=0);
	virtual void printHex(int group=0);
	virtual void printDec();
	virtual void deslocLeft(int n=1);
	virtual void deslocRight(int n=1);
	virtual bool isBitN(int n, BitValue value=ONE);
	virtual void setBitN(int n, BitValue value=ONE);
	virtual void clrBitN(int n);
	virtual void clrSequence();
	unsigned char getSequence();
	void binaryAnd(Bits8Sequence* s);
	void binaryAnd(unsigned char i);
	void binaryOr(Bits8Sequence* s);
	void binaryOr(unsigned char i);
	void binaryXor(Bits8Sequence* s);
	void binaryXor(unsigned char i);
	void binaryNot();
};

}
}

#endif /*BITS8SEQUENCE_H_*/
